--key不存在返回并设置后返回2 ,cas 成功返回1 , 旧值不匹配返回0
if redis.call('exists',KEYS[1])==0
then redis.call('set',KEYS[1],ARGV[2]);return 2;
elseif redis.call('get', KEYS[1])==ARGV[1]
then redis.call('set',KEYS[1],ARGV[2]);return 1;
else return 0;
end

--或者 判断value
local value = redis.call('get',KEYS[1]);
if not value
then redis.call('set',KEYS[1],ARGV[2]);return 2;
elseif (value==ARGV[1])
then redis.call('set', KEYS[1], ARGV[2]);return 1;
else
    return 0;
end